1
Construire les fondations : Interactivité en ligne de commande dans Rust
AI034Lesson 2
00:00

Le dialogue du programmation

Pensez à la différence entre un simple « Bonjour, monde ! » et un jeu de devinette comme la différence entre un monologue et un dialogue. Dans un monologue, le programme parle et se termine. Dans un dialogue, le programme pose une question, ouvre un écouteur et met en pause son horloge interne jusqu'à ce que l'utilisateur réponde.

1. Le préambule et l'espace de portée

Rust importe automatiquement un petit ensemble d'éléments appelés préambule dans chaque programme. Cependant, pour des tâches spécifiques comme l'entrée de terminal, nous devons explicitement importer le bibliothèque standard dans l'espace de portée en utilisant use std::io;. Cela comble le fossé entre la logique interne de votre programme et l'environnement externe.

TerminalSortie standardProgramme Rustespace de portée main()println! (macro)io::stdin() (entrée)

2. Macros vs fonctions

Vous remarquerez println! se termine par un point d'exclamation. Cela l'identifie comme un macro. Contrairement aux fonctions classiques, les macros peuvent gérer un nombre variable d'arguments et effectuer une interpolation de chaîne (remplir {devine}) au moment de la compilation.

3. Le cycle interactif

Lorsque vous exécutez cargo run, le programme s'initialise, atteint io::stdin().read_line(), puis suspend. Il attend que l'utilisateur appuie sur 'Entrée', puis empaquette cette entrée dans un type Resultat pour gérer de manière sécurisée les éventuelles erreurs matérielles.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>